public class INTEGER extends ANY
{
 private  int m_object;
 
 public INTEGER()
 {
 }
 
 public   INTEGER(int i)
 {
   m_object=i;
 }
 public int get()
 {
  return m_object;
 }
 public INTEGER INTEGERCLONE()
 {
  return new INTEGER(m_object);
 }
 
 public INTEGER INTEGERSUMINTEGER(INTEGER a)
 {
   return new INTEGER(get()+a.get());
 }
 public INTEGER INTEGERSUBINTEGER(INTEGER a)
 {
   return new INTEGER(get()-a.get());
 }
 public INTEGER INTEGERMULINTEGER(INTEGER a)
 {
   return new INTEGER(get()*a.get());
 }
 public INTEGER INTEGERDIVINTEGER(INTEGER a)
 {
   return new INTEGER(get()/a.get());
 }
 public INTEGER INTEGERPOWINTEGER(INTEGER a)
 {
   return new INTEGER( (int)java.lang.Math.pow((double)get(),(double)a.get()));
 }
 
 public REAL INTEGERSUMREAL(REAL a)
 {
   return new REAL(get()+a.get());
 }
 public REAL INTEGERSUBREAL(REAL a)
 {
   return new REAL(get()-a.get());
 }
 public REAL INTEGERMULREAL(REAL a)
 {
   return new REAL(get()*a.get());
 }
 public REAL INTEGERDIVREAL(REAL a)
 {
   return new REAL(get()/a.get());
 }
 public REAL INTEGERPOWREAL(REAL a)
 {
   return new REAL( (float)java.lang.Math.pow((double)get(),(double)a.get()));
 }
 public INTEGER INTEGERTWOSLASHES(INTEGER a)
 {
   return new INTEGER(get()/a.get());
 }
 public INTEGER INTEGERTWOBACKSLASHES(INTEGER a)
 {
   return new INTEGER(get() % a.get());
 }
 public BOOLEAN INTEGERLSINTEGER(INTEGER a)
 {
  return new BOOLEAN(get()<a.get());
 }
 public BOOLEAN INTEGERGTINTEGER(INTEGER a)
 {
  return new BOOLEAN(get()>a.get());
 }
 public BOOLEAN INTEGERLEQINTEGER(INTEGER a)
 {
  return new BOOLEAN(get()<=a.get());
 }
 public BOOLEAN INTEGERGEQINTEGER(INTEGER a)
 {
  return new BOOLEAN(get()>=a.get());
 }
 public BOOLEAN INTEGERSEQINTEGER(INTEGER a)
 {
  return new BOOLEAN(get()==a.get());
 }
 public BOOLEAN INTEGERNSEQINTEGER(INTEGER a)
 {
  return new BOOLEAN(get()!=a.get());
 }
 public BOOLEAN INTEGEREQINTEGER(INTEGER a)
 {
  return new BOOLEAN(get()==a.get());
 }
 public BOOLEAN INTEGERNEQINTEGER(INTEGER a)
 {
  return new BOOLEAN(get()!=a.get());
 }
 
 public BOOLEAN INTEGERLSREAL(REAL a)
 {
  return new BOOLEAN(get()<a.get());
 }
 public BOOLEAN INTEGERGTREAL(REAL a)
 {
  return new BOOLEAN(get()>a.get());
 }
 public BOOLEAN INTEGERLEQREAL(REAL a)
 {
  return new BOOLEAN(get()<=a.get());
 }
 public BOOLEAN INTEGERGEQREAL(REAL a)
 {
  return new BOOLEAN(get()>=a.get());
 }
 public BOOLEAN INTEGERSEQREAL(REAL a)
 {
  return new BOOLEAN(java.lang.Math.abs(get()-a.get())<=0.0001);
 }
 public BOOLEAN INTEGERNSEQREAL(REAL a)
 {
  return new BOOLEAN(java.lang.Math.abs(get()-a.get())>0.0001);
 }
 public BOOLEAN INTEGEREQREAL(REAL a)
 {
  return new BOOLEAN(java.lang.Math.abs(get()-a.get())<=0.0001);
 }
 public BOOLEAN INTEGERNEQREAL(REAL a)
 {
  return new BOOLEAN(java.lang.Math.abs(get()-a.get())>0.0001);
 }
 
 public REAL    INTEGERTO_REAL()
 {
  return new REAL(get());
 }
 
 public CHARACTER    INTEGERTO_CHARACTER()
 {
  return new CHARACTER((char)get());
 }
 public STRING    INTEGERTO_STRING()
 {
  return new STRING(new java.lang.Integer(get()).toString());
 }
 
 public void INTEGERFROM_REAL(REAL a)
 {
  m_object=(int)(a.get());
 }
 public void INTEGERFROM_CHARACTER(CHARACTER a)
 {
  m_object=(int)(a.get());
 }
 public void INTEGERFROM_STRING(STRING a)
 {
  m_object=(int)( java.lang.Integer.valueOf(a.get()) );
 }
 
}